{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true,
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "# 第 15 章 强化学习\n",
    "## 15.1 强化学习概述\n",
    "### 15.1.2 GYM 框架介绍"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "+---------+\n",
      "|R: | : :G|\n",
      "| : | : : |\n",
      "| : : : : |\n",
      "| |\u001B[43m \u001B[0m: | : |\n",
      "|\u001B[35mY\u001B[0m| : |\u001B[34;1mB\u001B[0m: |\n",
      "+---------+\n",
      "\n"
     ]
    }
   ],
   "source": [
    "import gym\n",
    "\n",
    "# 初始化 Taxi-v3 环境\n",
    "env = gym.make(\"Taxi-v3\")\n",
    "# 渲染环境当状态\n",
    "# 需要注意，不同的环境会有不同的渲染模式。Taxi-v3 环境默认以字符串形式渲染。\n",
    "env.render()"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "### 15.1.3 随机动作策略"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Average steps: 2522.13\n"
     ]
    },
    {
     "data": {
      "text/plain": "<Figure size 1080x720 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import gym\n",
    "import tqdm\n",
    "import random\n",
    "import numpy as np\n",
    "# seaborn 是 matplotlib 框架的高级封装，可以很方便绘制一些常见图像\n",
    "# 如果没有安装需要在终端通过 pip 命令安装\n",
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "from IPython.display import clear_output\n",
    "from time import sleep\n",
    "\n",
    "plt.rcParams['figure.dpi'] = 180\n",
    "\n",
    "# 此处取了环境对象里的 env 对象，因为 make 方法返回的 env 对象带有最高尝试次数限制\n",
    "# 即尝试 200 次以后自动判别为结束。此实验我们不需要这个限制\n",
    "env = gym.make(\"Taxi-v3\").env\n",
    "\n",
    "def test_random_action_policy(episodes=100):\n",
    "    episode_steps = []\n",
    "    episode_frames = []\n",
    "    for _ in range(episodes):\n",
    "        observation = env.reset()\n",
    "        done = False\n",
    "        step = 0\n",
    "        frames = []\n",
    "        while not done:\n",
    "            # 随机返回一个动作\n",
    "            action = env.action_space.sample()\n",
    "            observation, reward, done, info = env.step(action)\n",
    "\n",
    "            # 保存过程信息用于可视化\n",
    "            frames.append({\n",
    "                'frame': env.render(mode='ansi'),\n",
    "                'state': observation,\n",
    "                'action': action,\n",
    "                'reward': reward\n",
    "            })\n",
    "\n",
    "            step += 1\n",
    "        episode_frames.append(frames)\n",
    "        episode_steps.append(step)\n",
    "    return episode_steps, episode_frames"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [],
   "source": [
    "# 记录解决问题所用步数，并且可视化\n",
    "episode_steps, episode_frames = test_random_action_policy()\n",
    "sns.distplot(episode_steps)\n",
    "plt.title(\"Steps with random action policy\")\n",
    "print(f\"Average steps: {sum(episode_steps)/len(episode_steps)}\")\n",
    "# Average steps: 2391.02"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "+---------+\n",
      "|\u001B[35m\u001B[34;1m\u001B[43mR\u001B[0m\u001B[0m\u001B[0m: | : :G|\n",
      "| : | : : |\n",
      "| : : : : |\n",
      "| | : | : |\n",
      "|Y| : |B: |\n",
      "+---------+\n",
      "  (Dropoff)\n",
      "\n",
      "Time Step: 2613\n",
      "State: 0\n",
      "Action: 5\n",
      "Reward: 20\n"
     ]
    }
   ],
   "source": [
    "def animate_frames(frames):\n",
    "    for i, frame in enumerate(frames):\n",
    "        clear_output(wait=True)\n",
    "        print(frame['frame'])\n",
    "        print(f\"Time Step: {i + 1}\")\n",
    "        print(f\"State: {frame['state']}\")\n",
    "        print(f\"Action: {frame['action']}\")\n",
    "        print(f\"Reward: {frame['reward']}\")\n",
    "        sleep(.1)\n",
    "# 随机选择一个结果进行播放\n",
    "animate_frames(random.choice(episode_frames))"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "## 15.2 Q-Learning\n",
    "### 15.2.1 Q-Learning 介绍"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "价值函数（Value function）\n",
    "\n",
    "$$Q({\\small state}, {\\small action}) = (1 - \\alpha) Q({\\small state}, {\\small action}) + \\alpha \\Big({\\small reward} + \\gamma \\max_{a} Q({\\small next\\_state}, {\\small all\\_actions})\\Big)$$"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████| 100000/100000 [02:28<00:00, 675.55it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Average steps: 16.92863\n"
     ]
    },
    {
     "data": {
      "text/plain": "<Figure size 1080x720 with 1 Axes>",
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA7IAAAKTCAYAAAAkBzTTAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAbrgAAG64BjF1z+AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzdeXhsaV0n8O8vuaxNwwAqCApXVBQEFEFBgbERBXQQdVgEUcQBVJRxQXQcdaQFdXRGxH1nBJTFcRhRUHa7ERhQQFR2ZGlAsBFohG6apW/uO3+ck+RU1UmlkpukKrc/n+epJ1V13vPWSVI3N9/83qVaawEAAIDjYm3ZFwAAAAB7IcgCAABwrAiyAAAAHCuCLAAAAMeKIAsAAMCxIsgCAABwrAiyAAAAHCuCLAAAAMeKIAsAAMCxIsgCAABwrAiyAAAAHCuCLAAAAMeKIAsAAMCxIsgCAABwrAiyAAAAHCuCLAAAAMeKIAsAAMCxIsgCcKSq6mRVtf72pAPqc7O/Cw+iP67cquqi/v100bKv5cqiqs4b/Ds+f4c2F262OeLLA1bQiWVfAMAiquqOSb4tyVckOZnk2kmuSPKhJG9P8g9JXpnkRa21D4ycfzLJQ/qHF7bWLjzkS+YMVNVD0n2f01o7f5nXsqiqunuSb0hylySfmeS6ST6c5F+SvDTJn7fWXngIr3tRkpv2Dz+ntXbRQb8GAKwaQRZYaVV1nSRPTHKfkcMnknxWf/uqJN+fpFXVua21j021PZnkMYPHFx74xXKQHpLue5ok5y/vMnZXVV+e5FeT3GHk8Gf0ty9O8siqekWSR7bW/u4ILxEAzjqCLLCyquoqSZ6f7YBwRZI/T/KydFWuSnLDJLdN8jVJbtQ/V0d+sSysrxieFd+jqrpfkj9McrX+qQ8neVaSV6UbLXD9JLdL8s1JrpduRMHLquqBrbU/O/orZhGttZPLvgZmtdbOW/Y1AKtDkAVW2fdlO8RelOTrWmtvHmtYVZXkK5N8T5LTR3J1XKlV1V2TPCPb6038QZJHtdb+baTtDyd5fJKHJrlGkv9TVee11l5+VNcLAGcTQRZYZQ8a3H/ETiE2SVprLcnL+xscqqq6bpKnZTvE/mpr7Qd2at9a+0iSh1XVx9INgT+R5OlVdavW2kcP/YIB4Cxj1WJglX3h4P5L9tPB5kqYSS4YPP2YweqYbbdVMKvqJlX1s1X1t1X1gar6VFVdXFUvrKpHVNVVd7mGiRV1q+rTq+qxVfW6qvpof3tNVf1YVV1jgc/pS6vqtwfnX1FV/1pVb6yq51XVf6uqz1/wSzTs97MG1/rrO7RZq6pLBu1+cod216mqU32bp08d23HV4s1VSbM9P3b49Rvezt/lczmnqh5dVa+uqg9X1ceq6g1V9d/7EHqmvi/dsPYk+cckj17wvEcneV1//7OTfPcBXMuBqapPq6qfqKqX9u/xT/Xv+ZdW1Y9W1bV2Ob+q6i79v5e/qqr3VdUn+6//O6vqGVX1DQtcx/mD7/V5/XN3q6qn9/18oj92cnDO9L+zfb8HapdVi3e4vjtW1VOr6l395/yvVfWcqrrnbp9vf/5Vq+oHq+qV/fVeVlVvqqr/WVU36ds8afC6J+f3uPjn13+tfrT/Wl3Sf61e338fr7dgnyeq6mFV9ZeD7/uH+j5/pqo+c7/XO3iNhVctrqrr9p/Ti6beh2+pqqdV1YOq6uqD9j8/+Nr+xwWv5x/79h8/oJ8rwF601tzc3NxW8pbk8iStv91kn32cN+hj7m2H8/9rkk/scu5bk9x8zjVstrsw3Xzef57T1z+lW3l2p77OTzd0erfP51n7/Hq9rT//DTscv+3U67x4h3bfMGjzXVPHTg6OPWnq2IULfr/On/M1vlmSN8w596IkJ8/gfbmW5OJBf/fb4/n3H5z7niR1hv9OLhr0dyaf10OSfHSXr/vFSb5iTh9/sOD377lJrr3L+3yz7V2T/PoO/ZwcnHNg74HB1/SiBa7vvCQ/kWRjzuv99C5f+xsnef2c8y9J8tVJnnRA3+utzy/ditdv3OV7fvtd+rt5kjfv8j2/LMmD5/Rx3qDt+Tu0uXCzzS7X8x1JPrLA+/Axg3Nulu2frX+5wNfwDoN+/vBM/g27ubnt72ZoMbDK3p7kVv39/5zkR/bRx+vTLbRzqySP65/743RzG+eqqick+cH+4b/157wqyaXptlf5pnS/ZH9+kpdU1W1baxfP6fI6Sf5vul9aX5BuUaBLknxBurmTN0nyeUleXFVf0qaGnFbVN2Z75eWPJ3l6ui2HLkly9XSrN98+ydfu9rnNcUGSz01yy6q6QWvt/VPH7zr1+Cur6mqttU/OaXfBHl7/J5N8WpKfSfJF/XPfPNJup2Hm107yF+m+pn+W5Hnpvj43S/KIdF/jmyZ5SpJ/v4frGrp1khv09y9N933ciz/tzzs33ffsFumCxNJU1Q8k+eX+4eVJ/k+S/5duwapPS3LPJPdO93m/qKq+rLU2ds3XSPLJdCMo/jbdv+GPJfn0dGHn29MtenXPdN+Db1rg8n4kydelC1RPSvdv+kSSL+9fa9pRvAeGvivJA5O8t7++NyS5arrP8VvSLWz2U1X1ktbaX02fXN0ojBemex8kyfuS/K++n3PSLWR3/yR/kuS1B3C9Q1fp+71Fkr9J9zPl4nRfn+9Icst03/MX9D+T3j1y/Z+VbgG+T++felu6r8Pb0m1Bde90379zkjypqjZaa0894M9jeD0/nOQXB0+9PMmzk7wryXq6P6R9VbqfUVuLzrXW3lFVL0xy9yT3qKqbjH2+Aw8f3P+9g7l6YE+WnaTd3Nzcdrol+fFMVRmT3CvJufvo67zs8tf+qfbfOGj/wiTX36Hddw/aPWOHNtNVgO8baXOtdIFvs82vjbR5Tn/sVJKvnHPtV0/y5fv8mj9ocA3fMnL82f2x/zdo91Uj7f6uP/bPI8dODs590g7XceFmmwWve/j1/WSSe420uX6Sdwza7fdr9IhBH3+1zz6G3+uH76ePQV8XDfo6uY/zb59uRfCWLiiNjn7o/+19qm/3yh3a3CXJv5vzWuck+d/z3jt9u/OnvqcvzZwK7kG/B7K3imxL94epc0ba/dCgzWiVL90f2DbbvDLJdUba3COzI0P2/L3e4T3TkvxCpkYGpAu5Tx20efYOfT130OZPklxtpM1Dsl2x/miSzxxpc96gn/N3eK0LN9vscPwr0v18bOn+2DfzM2zQ9sZJ7jD13H/c7Rr6dtdK98eoluTN+/0+uLm5ndnNHFlglT0hXZVg0zemC1L/Vt180KdU1fdW1S0P4bUf2398T5Jvaq19aKxRa+130m2/kiT3rarP3qXfZ7TWfmOkn8uSPCDdL3lJ8tCq+ndTzT6v//iG1tr/2+kFWmufaK397S7XsZNh9XSi+lpV69muYP1huorLWLvrpts3NVnOfr0/01p7zvST/ffw5wZP3WOf/X/W4P5b9tnH8Lzd3jOH7afSVTgvTRf+RqtQ/df05/uHd6iqrxxp89I2smrz4PjH0o0+2Nzn+dsXuL6PpQske1kU67DfA0MfSnd903tXJ8mvJNn8en51VU2MhKuqq6X7w0jSBdVvad3CYBNaa8/P9tf+oL0iyY+11trUa16R7nt1Uf/UvarqC4Ztquo26SrP6ds9uM2Ozkhr7UlJfqt/eG66OeaH4afTVV2T5Adaa3+8U8PW2ntba38z9fSfp6uIJ8l3VtVOvyc/MF2YTZLf3+/FAmdGkAVWVmvt4+nmhT0h3S95m9bSDYX79iS/keQNVfUP1e3pecaq6ouT3KZ/+Fs7/II69Ef9x/Ukd9ul7eN3OtC6YbybfV0j278gbrq8//hZVXWdXV5nX1pr70s3TzeZHUb8pemGbSZd4L1gh3b/Ptv/v+xlWPFB2Eg3n3Inw6Gd+/0DyHDxmx1D2y6G5y20mM5h6P/o8B/6h09vrb13l1P+aHD/7vt5zdbapdle8OoO89r2ntm/Lxd1FO+Boae01j48dqC1djrbC9VdLd2w/aE7p6sSJ8mftdbeNed1fiNdtfGg/dJ0iN3UWvtEkt8cPDU9zH+4KNKv9T+zd/I/0lUwp887EFX16dmeVvGO7CNgttZOJXli//Am2fkPHZvDij+Vbhg1sATmyAIrrbV2eZJHVdXPJrlvuvliX5FuWNjQbZL876p6SpLv7H+B3K+7DO5frap2m8c3vJZb7NiqW3zkNbv09VdJvre//2WZnMv7wnSLLV0v3ZzcX0jyF3usVC3ignTzfm9eVTcahIjz+o8Xt9beXFUXpPuF7o5VdY3BL7HDYHvhAV/bbt66U6joDYPaqqwyepUlvvadsv1Hh40F3uvDax19r/dVxvunG0HxxenmWF4rg/mIA5818ty0ly7QZuio3wOv3OX4vNe7/eD+3D/6tNY+UFVvzPYf2Q7KzLzdOce/bOrYlw/uv2BeJ621d1fVm9O9b76wqq59wD+77jy4/5wz+D/g99Mt3rWW7ufbc4cH+yr05tfhWa21D+7zdYAzJMgCx0I/JPB3+luq6oZJ7piuKvSgbFcKH5xuyOvjRrpZ1MnB/cfs8dx5vxi/fafKx8DbBvdvNHXs59PNU7xluoDwtHTh4+/TLWhyQZLn71IVWcSF6RawSbqK+GYVbjOgXjBol3QL29wpyYv6x+f1H9/TWnv7GV7LXs39pbK19smqrTx19Xlt57hkcH96+Peihudt/TJfVZ+WyV/Ip727tfZ3+3zNMScH9x+R7WGui5h5r1fVrZM8M90fQhZx7d2bZLcq8bSjeA8s/HqZXJBq+vWG/8bfscBrvSMHG2Qvaa1dskubeT+ThlvqvHWB13truiBb6bavOsggO/yjyJv220kfuP8y3c/ae40semeRJ1gRhhYDx1Jr7eLW2rNaa9+bbjXSlw0O/2gtsB/rHGcybHfenrKXzzm2aTiMeWLPzr7KdMckP5tk8xer9SS3S/L96VbDfX91e9TO3dt2FxcO7t816faIzHal+oL+ev4l26sHb7a7XrZ/0T7qYcVJt33GYfvnwf2b77OP4XkXDe7fKt33cafb9+/z9XZyYO/1/nv/omyH2Pekmxf5A0m+Nd1w0m/ub2/o2yzye8he/zBzFO+Bg3q9cwb39/rz4SCc0c+kdPNdk+RUa+1TC/R12ci5B2X4R5HLdmy1mN/pP14l3UJVSbZWmP62/uE7krz4DF8HOAOCLHDs9dXaB2Z7/ti1Mjnkba+GvwR9dWut9nB7yJx+r7nAaw9/sZ35Zay1dmlr7SfTVUa+NN22RH+c7arQuUn+W5I/r0HZaS/6gLq5GNFmFfb22f4ldhhQL5xq91XZHkK6jCB7FIYLbd2+qvY0NLhvf7vBU39/IFe1P8P32H/a43v9vKm+HpnkM/r7T05ys9ba97bWfrW19vTW2p/2f3x6VvYeTs9Ww5C4158PB+FMfyZd2n88seAfz4ZB+NIdW+3PsLo7Hbj36i+zvUjXQwfP3zfboymeuMAIG+AQCbLAWaG19s+ZHNo2PQRuL4ZDGReZw7eoz10gXH7e4P6OC9y01k631l7bWvv11toD0s1D/OZsD3u9R7YX8dmPzRD6OVV102wH1fe01t420u7LqupaWe782KPyumxXxK+dbp/MvfimbFePPpjBHMvW2oVn8IeS/TjI9/rX9B9PJfnBfuGcndz0DF/rbDH8N36zBdov0mYvrtcv+DXPvJ9J/zK4v8hw8s02Ld1+tQdpOFJi3loFu+rn124OG/78qjqvv/+w/uOpdHv9AkskyAJnk+HQtunKwXD4325h8iWD+/tamXUH10lXRZ1nGARftWjHfbB9VrqtVDbNm2u5mwunrml6fux0uxP9653XP76otXbRGbz+1vdrv5Xlw9L/kjtcFfcnp7dV2Unf7icGTz25tbZxkNe3R3+d7ZVkz/S9foP+44fmbcFTVbdN8uln+Fpni1cP7k+v/j2hX5X3MLYa++pdjs/7mTTc5utrM0e/NdkX9g/ffAiL1A2nl9xrztY5i3pitkf5PLzfemhz+7HntNYOOogDeyTIAiurqm6we6uttieT3Hrw1BunmgyD7W7D816d7Tl831JVX7TodSzgUTsd6H9R3Zx/dXmS5+2j/4sG989kQb8LB/fvkWRzz9CJINta+9dsf63ul26O50y7fdjL92sZfiPbVdkvSfILC573C9neY/ejSX7xgK9rT/rv3+b77M5VdSZhdnO+5WdU1bz5jz8159iVzcvS7UObJN/Yj37YyfflcBbp/KGdDvQrUH/v4Kk/nWryfwf3/3NVzVs860ey/XvnM/d0hQtorX0gyfP7hzfLdvV0v/39S7p9ZZNufvePDA5b5AlWgCALrLJXVdXvV9Xt5zWqqs9K8n/SLXyUJK8YWS33nYP7c6ui/byn/9o/vEqSv6yq6W0npq/hllX1W/Pa9L61qr5n5Pxzkjw924vv/K/pqlZV/W5V3Wr63MHxE5lcUfMfFrieUf0qnZsrf94322FyLKBuPvfgbFe7L9zva/cW/n4tQ7/w1rdlu3L8qKr6vZ32962qa1fV72TyDxnfuyJVnZ9MckV//xlVNb1/8YSqumlV/WJVfcbUoc1qXSX5mZHzqqoel25oNelWUE63IFbSrWj8x2Pvoaq6R5IfO6TLuFNV/dz0yId+LvfvJ/mc/qnntNbeMmzTWvvHbG9Pc7MkfzA2V7aqvj1dEE+6ubG/Od3mgJyfbh/hJPmVqrr/Tg2r6jOrare1FH67/3j1bM+VfU/290dG4IDZfgdYZVdN98vDQ6vqbemGQf59kg+kCxA3SLen7Dcl2Vyl+LJMVhCSdMGjql6bbh/Wu1bVb6dbcfLSQZvnDe4/u6oem656dJMkf1NVL0i3Kus/pxuOef0kX5RuOO0t0/0CNW/7kr9Pt1DIb/X7df5pkn9Lt4LtQ7M9b/CdmRx+uunh6Ya4vSFdeHx9ujmx56T7JfIB2Z6D9tZ04f5MXJBurtnm/xXvbK29a4d2j8zk/ylnWpF9cbZX6H1iVT0hybuy/Uvq26bm6h651tqLqurbkjwp3Xv1YUn+Y1U9K12o+1C6PX9vl66ic/3NU5P8SGvtqYdwWT9cVR9ZoN07W2tPTJLW2t9V1SPSVZmum+S5VfXydAHlnelC7vXSDQu9c7b3Pv3lqT5/M8l/SvcHpe+vqi9JV7G7OMlnp1u5+LbpRkt8PJMLXl2Z/VyS+6T7t3aHJG+sqiem+zpdM92Q3fun+1nx8mwPBT6I1Znfl26e9H9Ncl5VPT3dSIObJvmOdD/fkuTD2Q6i074ryd+lGy7+gCRfWlVPTrdtz79LN4d8OF//EX2188C11l5ZVf8l3UiHzT8MfH+6yuq70xVwbppuBfavSfe1/9sduku6n/dvT/K5g+eeeIb7lAMHpbXm5ubmtpK3JC9I98taW/D2+iS3n9Pf16Wb8zR6/g7nPCzJRxZ8/Yt26GPz+IXphqH+85w+3pZutdd5/ex2+4ckJw/g63+/qX6fuEO76099n962S78nB22ftEOb9SQvnfM5nr/T13iBz2vhtgt+ne6YLrgu8r15V5J7HvC/k4v28N7Y8XNP8g3pQuci538wyaeN9PGIdH9s2Om8N6ZbPOjCzed2+JzOH5xz3oJfhwN7Dwy+pjv9m174+hZpm+TG6Ybo7/R1uyTbezpvPnfdA3jPXJQu2M177fdnzs/Vvr+bp9uKa9575mNJHjynj/MGbc/foc3c982g3cPS/ZFyt/fxTy3wtfrRQfuNJJ99kP9+3dzc9n8ztBhYWa21u6erhj40yR+kCwsfSLeo0xXpfrl7bbpFOe6d5Etaa68e7y1prT03yZ2SPC1dpWnXLUBaa7+f7he9H04XrN+X5JP97eJ0VeL/meRuWWBF0dba36erSv1MuuB9aboq8muT/HiS27TW3rHD6TdO97V4UroKyIfT/WL18XS/kP5pkgcl+dJ2Zgstbbow3S9vmy4Ya9S67Y/+ceq8M9K6BZC+Nt1wyldk+3NdOa21V6bb7ume6aqSr8v2qIGhi5N8cRtU/ldJa+3Z6YaRfk+6CtZ70r23PpXu83lFkl9LF3hv1Fr74Egfv5Xu39ifpPt8r0jyr+m2LHpUukC01Er6KmqtvTfdEPpHpasQfjTdnOO3JHl8up9tf5Xtqv5GJrebOZPXfle69++Ppfu58m/pvu9vSvLfk9xi3s/Vvo+3pluj4OHpht1ufu8/3Pf5c0k+v7X2lIO45t30P7dvlm4rspene/+eShem35zuDwL3T/LzC3T3osH957XW3nOwVwvsV7XWdm8FwL5V1eYP2pe02b03OYv1i988P9urnT4vyTe21j6181kwq1+F9+J0Q3j/sbX2xbucMq+vi9L9ge5drbWTB3KBZ6mq+plsT/X45tatDg+sABVZADgkrbVPpKtgvrZ/6p5JnlpV6zufBaO+JdvbFo2OjuBg9QtX/af+4XuTPGeJlwNMEWQB4BC1br/Meyb5p/6p+yb53VXbH5flqarb9yuX73T8Tum2fEq6Ieu2fzka35PkM/v7v9VaOzWvMXC0rFoMAIestfavVfW1Sb5z8PQXZnuLI67cvifJ/avq+Un+Jt2CcKfTzYv/mnQL1W3+4eOXWmtvGO2FM1JV10s3X/hq6RZx29xj90Pp5ocDK0SQBYAj0C+qc/6yr4OVdW66av19dzjekvxKkv9yZFd05XObbO+Lu6kl+e5+ZAWwQgRZAIDl+tl0+5V+VbqVo6+f5DrpVjR/T7rV0X+vtfYPS7vCK58PptvK7HGttZcs+2KAWVYtBgAA4Fix2BMAAADHiiALAADAsSLIAgAAcKwIsgAAABwrgiwAAADHiiALAADAsSLIAgAAcKycWPYFXFlUlQ17AQCAK73WWp1pHyqyAAAAHCsqskesNYVZAADgyqfqjAuxW1RkAQAAOFYEWQAAAI4VQRYAAIBjRZAFAADgWBFkAQAAOFYEWQAAAI4VQRYAAIBjRZAFAADgWBFkAQAAOFYEWQAAAI4VQRYAAIBjRZAFAADgWBFkAQAAOFYEWQAAAI4VQRYAAIBjRZAFAADgWBFkAQAAOFYEWQAAAI4VQRYAAIBjRZAFAADgWBFkAQAAOFYEWQAAAI4VQZYd/dWb359bP+b5+eKffkFe9k8fXPblAAAAJBFkmeOXXvjWXPrJU/nIx6/Ir774n5Z9OQAAAEkEWea4+COf3L7/0U8s8UoAAAC2CbLsaOP06cH9tsQrAQAA2CbIsqNTg/B6ahBqAQAAlkmQZUfDKqyKLAAAsCoEWXY0WZEVZAEAgNUgyLKj08OK7IYgCwAArAZBllGtNRVZAABgJQmyjJrOrRtNkAUAAFaDIMuo6VWKLfYEAACsCkGWUdPBdeN0S1OVBQAAVoAgy6ixCqyqLAAAsAoEWUaNhVYLPgEAAKtAkGXUWGhVkQUAAFaBIMuo0aHF5sgCAAArQJBl1GhFdkOQBQAAlk+QZdRpc2QBAIAVJcgyyhxZAABgVQmyjNo4fXrmuVMjzwEAABw1QZZRKrIAAMCqEmQZdWpkYSdzZAEAgFUgyDLq9MhWO2MLQAEAABw1QZZRY9VXFVkAAGAVCLKMGpsPa44sAACwCgRZRpkjCwAArCpBllHjFVnb7wAAAMsnyDJqY2Sxp7EqLQAAwFETZBk1Vn0dC7cAAABHTZBl1Fj11WJPAADAKhBkGTUWWi32BAAArAJBllFjoXXDHFkAAGAFCLKMOj222JOKLAAAsAIEWUaZIwsAAKwqQZZR43Nk7SMLAAAsnyDLqLFhxGPDjQEAAI6aIMuosX1kx4YbAwAAHDVBllFjQ4vNkQUAAFaBIMuosaHFVi0GAABWgSDLKBVZAABgVQmyjFKRBQAAVpUgy6ix6utpQRYAAFgBgiyjxveRFWQBAIDlE2QZNT5HdnZLHgAAgKMmyDLKHFkAAGBVCbKMGqu+WrUYAABYBYIso1RkAQCAVXWoQbaqzq2q86vqdVV1WVV9pKpeVVU/XFVXPcO+b1BVj6+qt1TVx6vqkqp6aVU9rKpql3NPVNVDq+qFVfWvVXVFVV3aX+evVNXnnsm1nQ3GVihWkQUAAFbBicPquKpumuTCJCf7py5PcrUkt+9vD6qqu7XWPryPvm+X5PlJrt8/dVmSc5Pcub/dt6ru3Vr71Mi5103y3CR3GDx9aZJrJLlVf/vuqvr21tqf7PXazhZj1VdBFgAAWAWHUpGtqhNJnp0uxP5Lkq9trZ2T5JpJHpAuON42yR/to+/rJHlOuhD75iRf1lo7N8k5SR6Z5Iok90jyyzt08cvZDrHnJ/m01tq1k1w9yXlJ3pAucD+5qm681+s7W4yvWizIAgAAy3dYQ4u/I8mt+/v3aa29KElaa6dba3+c5Lv7Y19fVXfbY9+PTnLDJB9P8vWttVf3fX+qtfYbSR7Tt/uuqrr58MSqulqSb+kfPrm19tOttQ/152+01l6S5Bv749dIcq89XttZY3yOrO13AACA5TvMIJskF7TWXjFy/BlJ3tnff/Ae+95s/4zW2jtHjv9auqHG60keNHXsuumqrUny6rHOW2tvT3JJ//Bae7y2s4aKLAAAsKoOPMhW1TWT3Kl/+NyxNq21luR5/cO776HvL0hyk136vizJS3fo+/1JPtbfv/0Or/G5Sa7XPxwNu1cGY6H11IYgCwAALN9hVGRvMej39XPabR67YVVdb067oVuNnD+v71sOn+wD9O/0D7+jqh5TVddPkqpar6qvSvJn/fE/6YcaXympyAIAAKvqMILsjQb33zun3fDYjXZsdWZ9X7uqpocH/0SSp/T3z0/ywar6SJJPpFtl+RpJ/kuSBy54TUmSqmrzbnvpaxWMzYe1jywAALAKDiPInju4f/mcdsNj5+7Y6oD7bq19IsnDkvxIuhWOk+Ta2d6K6JrphhZfLVdioxXZJsgCAADLd1iLPa2sqvqcJK9J8j+TPDPdXNlz0829fUiSlq4i+9cj1dwdtdZq3u3AP5FDNrqPrDmyAADACjiMIHvp4P4157QbHrt0x1YH2HdVraebA3vrJE9prT2wtfaa1tplrbX3tNaenORrknwyye3SBdorpdHFngwtBgAAVsBhBNn3De7feEsTRIwAACAASURBVE674bH37djqzPr+aL+K8aa7Z3t/218cO7G19sYkf9E/vM+C13XWGV/syT6yAADA8h1GkH1Tks3Ec6s57TaPXdxau2ROu6HhSsWL9P3GqeeHqxi/fc75/9R//JwFr+usM1Z9VZEFAABWwYEH2dba5Ule3j+851ibqqok9+gfvmAP3b81ybt36fucJHfZoe9hSfGmc17nBv3HRYc8n3VsvwMAAKyqw1rs6cn9x7tW1R1Gjt8vyc36+08ZOT6q3wd2s/0DqurkSLPvS3KtJBtJnjp17O8G9x8x9hpVdcMk39w/fMWi13a2GV3sSZAFAABWwGEG2dclqSTPrKq7JUlVrVXV/ZL8Xt/uua21Fw9PrKrzB/uvnhzp+xeTXJxuQae/qKrb9eddtaoekeRxfbvfba29derclyb5h/7+I6vql6rqRv35V6+qeyb56yTXSbd68S/t79M//k4LsgAAwIo6sXuTvWutnaqqeye5IMnJJC+qqsvTBeer981em+RB++j7I1V1ryTPTzfn9dVVdWnf71X6Zi9I8kMj556uqvv0x2/Wt/mhqrosXTDeDPYbSR7VWnvJXq/vbGGOLAAAsKoObR/Z1tpFSW6T5LHpFmlqSa5It4fro5PcsbX24X32/ZokX5TkCekWZrpKko8leVmShyf5utbaJ3c49+39df1QkguTfDBdCP5Ekjcn+Z0kX9pa+9X9XNvZYmyFYhVZAABgFVQ37ZTDVlUtSY7L1/urH39h3vGBj008d4vPvHae+wN32eEMAACAnXVr/iattTrTvg6tIsvxZh9ZAABgVQmyjDq1YY4sAACwmgRZRp0eGQI9tpIxAADAURNkGWXVYgAAYFUJsowanyMryAIAAMsnyDLq1Mbswk4qsgAAwCoQZBmlIgsAAKwqQZZRGyOLPY1VaQEAAI6aIMuoseqrgiwAALAKBFlGja9arCILAAAsnyDLjNOnW0ZGFpsjCwAArARBlhk7rU5s1WIAAGAVCLLMOD1Wjk3SWletBQAAWCZBlhnzKq+qsgAAwLIJsszY2Ng5rJonCwAALJsgy4x5qxOP7S8LAABwlARZZsyrus6r1gIAABwFQZYZ86qu9pIFAACWTZBlxilzZAEAgBUmyDJjXli1ajEAALBsgiwz5oVVFVkAAGDZBFlmzF3sSZAFAACWTJBlhqHFAADAKhNkmaEiCwAArDJBlhnzttix/Q4AALBsgiwzVGQBAIBVJsgyY948WHNkAQCAZRNkmXFaRRYAAFhhgiwz7CMLAACsMkGWGebIAgAAq0yQZYY5sgAAwCoTZJmxMWeLnXnHAAAAjoIgy4yNOVn11IaKLAAAsFyCLDNOza3ICrIAAMByCbLMmBdWzZEFAACWTZBlxryweroJsgAAwHIJssyYW5E1RxYAAFgyQZYZ9pEFAABWmSDLDHNkAQCAVSbIMmNeWLWPLAAAsGyCLDPmhVUVWQAAYNkEWWbMr8gKsgAAwHIJssw4LcgCAAArTJBlxryKrKHFAADAsgmyzLD9DgAAsMoEWWaoyAIAAKtMkGXG/Iqs7XcAAIDlEmSZMS/IqsgCAADLJsgyY16QnbeiMQAAwFEQZJlxas7wYRVZAABg2QRZZli1GAAAWGWCLDNObZgjCwAArC5BlhkbbU5Fdk7IBQAAOAqCLDOsWgwAAKwyQZYZ88Lq6TnVWgAAgKMgyDJj3vBhFVkAAGDZBFlmzAurG3O25gEAADgKgiwz5g0fnreiMQAAwFEQZJkxvyIryAIAAMslyDJj3vBhc2QBAIBlE2SZMW/4sIosAACwbIIsM+aFVUEWAABYNkGWGRuDxZ6uur6WqsExQRYAAFgyQZYZw7C6vlY5sbadZE/ZfgcAAFgyQZYZwzmyJ9Yq64MgqyILAAAsmyDLjGFYXVurnFjbfptYtRgAAFg2QZYZw+HDJ9Yqa+bIAgAAK+TEsi+A1TPMqutrlTb4e4cgCwAALJsgy4zpiuwwugqyAADAsgmyzNgYLPa0vj4ZZM2RBQAAlk2QZcYwrK5XpQ1mUqvIAgAAyybIMmN6H9kh+8gCAADLJsgyY6MN95FdS8t2eFWRBQAAlk2QZcbEHNm1Sst2VdYcWQAAYNkEWWYMw+qJddvvAAAAq0WQZcYwrK5V5YTFngAAgBUiyDJjeh/ZyWOCLAAAsFyCLBNaaxlm1elVi1VkAQCAZRNkmTAdVE+szwbZ1lqqJp8HAAA4Kmu7N+HKZHro8PramqosAACwUgRZJkyH1PUaGV7cBFkAAGB5DC1mwlhFNjk98ZyKLAAAsEyCLBNOT8+RXatMF+6tXAwAACyTIMuEmYrs+uyiThsbgiwAALA8giwTZufIVrI+2UZFFgAAWCZBlgmnTk/Ohz2xVqmp3GqOLAAAsEyCLBNmKrJrNb3W00zYBQAAOEqCLBOmg+yJkTmyciwAALBMgiwTRiuyU1RkAQCAZRJkmTCzanHV9O475sgCAABLJcgyYbYiu5Zqk89ZtRgAAFgmQZYJ0yH1xHplY2oksYosAACwTIIsExabIyvIAgAAyyPIMmFm1eKRILthsScAAGCJBFkmTK9IvFaVEzOLPR3hBQEAAEwRZJkwVpHdmBpJbPsdAABgmQRZJsxsv7NeKYs9AQAAK2Rt9yb7V1XnVtX5VfW6qrqsqj5SVa+qqh+uqqueYd83qKrHV9VbqurjVXVJVb20qh5WVbMTO8f7+Ly+j9f31/axqnpHVT2rqr73TK7vuDo9UpFdX5t8m1jsCQAAWKZDq8hW1U2TXJjkZP/U5UmuluT2/e1BVXW31tqH99H37ZI8P8n1+6cuS3Jukjv3t/tW1b1ba5+a08cPJvn5/po2r+90ks/pb+cl+c29XttxN1ORXVtLZfK5jemxxgAAAEfoUCqyVXUiybPThdh/SfK1rbVzklwzyQOSXJrktkn+aB99XyfJc9KF2Dcn+bLW2rlJzknyyCRXJLlHkl+e08ejkjwhyXqS/57kZq21c/p+rpfknkl+f6/XdjaY2X6nkrWplYtVZAEAgGU6rKHF35Hk1v39+7TWXpQkrbXTrbU/TvLd/bGvr6q77bHvRye5YZKPJ/n61tqr+74/1Vr7jSSP6dt9V1XdfPrkqrp1ukpskjygtfbjrbV3bh5vrX24tfb81tqj93hdZ4XZObJrM1vwnG6CLAAAsDyHGWST5ILW2itGjj8jyWZ4fPAe+95s/4xhAB34tXRDjdeTPGjk+I8nuUqSZ7XWnrnH1z7rTe8R282RVZEFAABWx4EH2aq6ZpI79Q+fO9amtdaSPK9/ePc99P0FSW6yS9+XJXnpWN9VdU6S+/QP/3DR170ymd4jdn2tZiqy02EXAADgKB1GRfYWg35fP6fd5rEbVtX1Fuz7ViPnz+v7llPPf3m6amySvKaq7lxVf1ZVH6iqT1TVO6vqD6rqVrmSWqgia7EnAABgiQ4jyN5ocP+9c9oNj91ox1Zn1ve1q+pag+eHc2bvn+Svk9w7ydXTLRJ1MslDkvxdVX3ngteUJKmqNu+2l76WaXbV4sqJ9emK7LH5dAAAgLPQYQTZcwf3L5/Tbnjs3B1bHWzf1x3c//kk/5DkDq21c/sVi++Y5B/TVW1/t6q+fMHrOmvMrFq8Vlkrc2QBAIDVcViLPa2q4ef7iST/obX2t5tPtNb+Jsm90q2IfCLJTyzacWut5t0O6hM4bNPDhk+sVU6sTb5NVGQBAIBlOowge+ng/jXntBseu3THVgfb9/D+01pr75s+sbX2niRP6x/erarWF7y2s8L01jrra2szc2QFWQAAYJkOI8gOw+GN57QbHpsJlAfU90f7VYw3DefVvmnO+W/sP56T5PoLXttZYXrY8InRVYsFWQAAYHkOI8i+Kcnm0rfzVv/dPHZxa+2SBfserlS8SN9vnHr+Hxd8nWFyu1KltumQurZWWV83RxYAAFgdBx5kW2uXJ3l5//CeY22qqpLco3/4gj10/9Yk796l73OS3GWs79ba25K8o394izmvs7ltz0eTfGgP13fsjc+RtY8sAACwOg5rsacn9x/vWlV3GDl+vyQ36+8/ZdFOW2tt0P4BVXVypNn3JblWko0kTx05/qT+47dW1cy2P1X12Uke2D/8y9balSq1TYfU9bF9ZFVkAQCAJTrMIPu6dEN0n1lVd0uSqlqrqvsl+b2+3XNbay8enlhV5w/2Xz050vcvJrk43YJOf1FVt+vPu2pVPSLJ4/p2v9tae+vI+b+U5F2D87e22OnvPyfJNdKtXPzYPX/mx9xGm63Irpc5sgAAwOo4cRidttZOVdW9k1yQ5GSSF1XV5emC89X7Zq9N8qB99P2RqrpXkuenGwL86qq6tO/3Kn2zFyT5oR3O/1hV3TPJi5J8SZK/qarNBaGu1X+8LMkDW2vzFoQ6K01XW9fXKlM5VpAFAACW6tD2kW2tXZTkNumqmq9Pt2jSFUlek+TRSe7YWvvwPvt+TZIvSvKEJP+ULsB+LMnLkjw8yde11j455/w39+c/NtsLQK0neUuSX01yq9bac/ZzbcfdxsZskF23jywAALBCDqUiu6m1dmmSx/S3Rc85P8n5C7R7f5JH9bf9XNtH9nptVwZjFdm1Nr8NAADAUTrUIMvxM11tPbG2ltNT82ZVZAEAgGUSZJkwvdjTeEX2SrWQMwAAsGIEWSZMz5E9sVaZekpFFgAAWCpBlgmjqxZPV2Snky0AAMAREmSZsDE1bHgsyE4PPwYAADhKgiwTpiuyJ9Yqp9vkRrKGFgMAAMskyDJheoXi0aHFgiwAALBEgiwTpue/jm6/Y44sAACwRIIsE6aHDa+tJZXJocUqsgAAwDIJskyYnSM7UpG1jywAALBEgiwTpiuy46sWH+EFAQAATBFkmTAdZLtVi6fbqMgCAADLI8gyYRhkq5K1sVWLlWQBAIAlWlv2BbBaTg2qrevVLfJUVVlf217wyT6yAADAMgmyTBiG1GF4Hd63ajEAALBMgiwThiH1xCC8nlCRBQAAVoQgy4QdK7KlIgsAAKwGQZYJwyB7Yn377bG+vh1kTwuyAADAEgmyTBgG2bUaH1p8yvY7AADAEgmyTNhpjqxViwEAgFUhyDJhpzmyJ9a23yrmyAIAAMskyDJhco6siiwAALB6BFkmnLKPLAAAsOIEWSZsDBZyGm65oyILAACsCkGWCTtVZE8IsgAAwIoQZJlgjiwAALDqBFkmTK5avP32sI8sAACwKgRZJmzYRxYAAFhxgixbWmuTc2TLPrIAAMDqEWTZMp1Ph1XYQY5Na8lpYRYAAFgSQZYt03Nfh4s9DSuySbLRBFkAAGA5BFm2TK/htL7DHNnEPFkAAGB5BFm2zFRkd9hHtmsryAIAAMshyLJlusq6VnMqshuCLAAAsByCLFumq6wTc2TXpyuy9pIFAACWQ5Bly3RFdn2wwNOwOjvWFgAA4KgIsmyZqciaIwsAAKwgQZYt03vDTq5aPLX9jiALAAAsiSDLlukq63rtXJEVZAEAgGURZNmyMbWA0/pggaf1mcWeBFkAAGA5BFm27GWOrIosAACwLIIsW05tzJsja/sdAABgNQiybDnddq7Irtt+BwAAWBGCLFumhxavre08R1aQBQAAlkWQZct0ODVHFgAAWEWCLFtm58iujd5PrFoMAAAsjyDLFhVZAADgOBBk2bLR9rJqsSALAAAshyDLlo2pLXXW51Zkbb8DAAAshyDLluk5sifmVWQ3VGQBAIDlEGTZMj3vdd7Q4uk9ZwEAAI6KIMuW6Xmv8xZ7MkcWAABYFkGWLdNV1nnb71i1GAAAWBZBli2z+8hu35+pyJojCwAALIkgy5bZObLDiqx9ZAEAgNUgyLJl3hxZ+8gCAACrQpBly7x9ZGcqslYtBgAAlkSQZcv0cOF5qxZvbEyGXgAAgKMiyLJlerjwmqHFAADAChJk2TK3IrtusScAAGA1CLJsma6yTs6RXZvbFgAA4KgIsmyZrciuDe6ryAIAAKtBkGXL7D6y2+F1rcyRBQAAVoMgy5Z5QXZ6juxpQRYAAFgSQZYt8+fIqsgCAACrQZBly8bpyb1h5+4je9o+sgAAwHIIsmxRkQUAAI4DQZYt0/Neh/NiT0xtv2PVYgAAYFkEWbbMVGRrWJGd3xYAAOCoCLJsmbdq8fpURdaqxQAAwLIIsmyZrrIOhxNPL/akIgsAACyLIMuWmYrs+s6LPZkjCwAALIsgy5bpcDpv+x0VWQAAYFkEWbZMB9m1mleRtY8sAACwHIIsW05NhdPJiuzkW+XUhoosAACwHIIsW+bNkZ3KsebIAgAASyPIsmV21eKdK7IbTZAFAACWQ5Bly/x9ZK1aDAAArAZBli0zQbbmrFpsjiwAALAkgixbpocWD6uwa2uVQa5VkQUAAJZGkGXLMJyur1WqJquww6rs9ArHAAAAR0WQZcupqSA7bbivrIosAACwLIIsW04Pwun0nNjp56aHIQMAABwVQZYtExXZmg2ywyqtiiwAALAsgixbNgbzXtfXRyqy62uDtoIsAACwHIIsW07tMrRYRRYAAFgFgixbplctnmaOLAAAsAoEWbZsTFRkZ98aKrIAAMAqEGTZMgynIzl2IsjaRxYAAFgWQZYtp/ZUkT2SSwIAAJghyLJlL3NkN1RkAQCAJRFk2XJqUGYdX7V4++1isScAAGBZBFm2DLPp7hVZQRYAAFgOQZYtwwWcxoLsuu13AACAFSDIsmVvc2QFWQAAYDkEWbZMrlo8G2TXpoJsa8IsAABw9ARZkiSnT7e0PcyRTSbn1AIAAByVQw2yVXVuVZ1fVa+rqsuq6iNV9aqq+uGquuoZ9n2Dqnp8Vb2lqj5eVZdU1Uur6mFVNZvCdu/vuVXV+tuFZ3Jtx9HGVHV1t31kk8k5tQAAAEflxGF1XFU3TXJhkpP9U5cnuVqS2/e3B1XV3VprH95H37dL8vwk1++fuizJuUnu3N/uW1X3bq19asH+HpLknnu9jrPJ9JzXtQUqsubJAgAAy3AoFdmqOpHk2elC7L8k+drW2jlJrpnkAUkuTXLbJH+0j76vk+Q56ULsm5N8WWvt3CTnJHlkkiuS3CPJLy/Y3w2T/FKSf0vypr1ez9liehXi3faRHTsHAADgKBzW0OLvSHLr/v59WmsvSpLW2unW2h8n+e7+2NdX1d322Pejk9wwyceTfH1r7dV9359qrf1Gksf07b6rqm6+QH+/meS6SX4kyb/u8VrOGhsbk6F0kTmy0+cAAAAchcMMsklyQWvtFSPHn5Hknf39B++x7832z2itvXPk+K+lG2q8nuRB8zqqqvsn+eYkL0nyxD1ex1ller7reEV2eo6sIAsAABy9Aw+yVXXNJHfqHz53rE3r9m15Xv/w7nvo+wuS3GSXvi9L8tLd+q6q66cLvZ9M8l3tSr6XzPRiT2MV2ennTl+5v2QAAMCSHEZF9haDfl8/p93msRtW1fUW7PtWI+fP6/uWc9r8apLPSPK41tpbF3z9s9b0wk2LDC1WkQUAAJbhMILsjQb33zun3fDYjXZsdWZ9X7uqrjV9sKq+Icm3pgu8/2PB155rsHXP6O0gXuMwnVpgjuz0c+bIAgAAy3AYQfbcwf3L57QbHjt3x1YH3He/6vFvJzmd5OGttSsWfO2z2nRFdmyO7Il1+8gCAADLd2j7yK6wx6er7P56a+2VB9Vpa202+Q2selV2epjw9FY73XP2kQUAAJbvMCqylw7uX3NOu+GxS3dsdYB9V9XXJHlokn9O8uMLvuaVwvTCTaMVWfvIAgAAK+Awguz7BvdvPKfd8Nj7dmx1Zn1/tF/FeNPv9R9/NEmrqmsNb+m27EmS9cHz67kSWGSO7FqpyAIAAMt3GEH2TenmnyaTqwxP2zx2cWvtkgX7Hq5UvEjfb5x6/mT/8WnpKrXTtzv3x+88eO4bFry2Y22hVYvXBVkAAGD5DjzIttYuT/Ly/uE9x9pUVSW5R//wBXvo/q1J3r1L3+ckucs++r5Sm164aWxo8XS4NbQYAABYhsOoyCbJk/uPd62qO4wcv1+Sm/X3n7Jop621Nmj/gKo6OdLs+5JcK8lGkqdOnV/zbkle0jd9yeD5Zy16fcfZfvaRVZEFAACW4TCD7OuSVJJnVtXdkqSq1qrqftmeq/rc1tqLhydW1fmD/VdPjvT9i0kuTreg019U1e36865aVY9I8ri+3e+21t56wJ/XWWuR7XdmK7K23wEAAI7eoWy/01o7VVX3TnJBunmpL6qqy9MF56v3zV6b5EH76PsjVXWvJM9Pcsskr66qS/t+r9I3e0GSHzqjT+JKZjrIrqnIAgAAK+qwKrJprV2U5DZJHptukaaW5Iokr0ny6CR3bK19eJ99vybJFyV5QpJ/ShdgP5bkZUkenuTrWmufPMNP4Upler7rWEV2OtyaIwsAACzDoVRkN7XWLk3ymP626DnnJzl/gXbvT/Ko/nYgWmvnHVRfx83sHNnZv3FMh9vTgiwAALAEh1aR5XhZpCI7HW5VZAEAgGUQZEli1WIAAOD4EGRJsliQtY8sAACwCgRZksxupbNYRdb2OwAAwNETZEmyz31kN1RkAQCAoyfIkmR2mPAiQ4vNkQUAAJZBkCXJ7FY6J9YXCLJNkAUAAI6eIEuS2YrsWo3NkZ18u6jIAgAAyyDIkmRsjuzsW8McWQAAYBUIsiRZbI6sfWQBAIBVIMiSZHYrndFVi9ftIwsAACyfIEuSZGNqS9jp0JrYRxYAAFgNgixJZkPp+shiT9PPqcgCAADLIMiSZDaUjg4tnnpuesseAACAoyDIkmR24abRxZ7MkQUAAFaAIEuSkYrsyBzZdfvIAgAAK0CQJcnsMOHp0JrMDjdWkQUAAJZBkCXJyD6yY4s92UcWAABYAYIsSRabIzv93Cnb7wAAAEsgyJJkNpSOz5Gdrsge6iUBAACMEmRJsuCqxTNBVpIFAACOniBLktkgu8g+shZ7AgAAlkGQJclsKF0bWezphO13AACAFSDIkmSkIrvAHFkVWQAAYBkEWZKMbL+zyBzZDUEWAAA4eoIsSWZD6fQw4iRZU5EFAABWgCBLkmSj7b0ie7oJsgAAwNETZEmy2PY75sgCAACrQJAlyWwoHdt+xz6yAADAKhBkSTIbSheqyFrsCQAAWAJBliSzoXR9ZB/ZqpoIs/aRBQAAluHEsi+A1TBcuKmSPONV79n1nPd/9BN52t+8e+vxt97hJodxaQAAABNUZEkyOUd2baQau31s+76CLAAAsAyCLEkmhwmPbCG7fWwQcm2/AwAALIMgS5LJObLzK7KCLAAAsFyCLEmmKrLzguxgbLHddwAAgGUQZEmSbLRhkN253frEHFkVWQAA4OgJsiTZQ0XW0GIAAGDJBFmSJKcG44TX5pRky6rFAADAkgmyJEk2NhYbWqwiCwAALJsgS5I97CM7sdiTIAsAABw9QZYkk9XVeUF2faIie6iXBAAAMEqQJclkRXZOjp0YdmxoMQAAsAyCLEkm58iuz5kkOzG0WJAFAACWQJAlyR7myA6HFp/esRkAAMChEWRJMr2P7M7tytBiAABgyQRZkiQbCy72NDzWIswCAABHT5AlrbWJimwtuGpxd+6hXRYAAMAoQZaJEJska3PeFdPHVGQBAICjJsgysdBTMlt1HZoednzaZrIAAMARE2SZrcjuJcjKsQAAwBETZJlY6ClZfNXisXMBAAAOmyBLNjYmw+i8xZ6mK7JNkAUAAI6YIMvMHNm1OSXZ9TVDiwEAgOUSZBmZI7tz2+ljFnsCAACOmiBLTp0+PfF4T6sWG1oMAAAcMUGWTOXYPa1abLEnAADgqAmyzFRk5+TYrE29Y4wsBgAAjpogy+wc2TmTZKdXNDZHFgAAOGqCLLOrFs8pyU7PnzWyGAAAOGqCLDMV2fW9rFosyQIAAEdMkGVk+x2rFgMAAKtLkGVmaPH0PNih6fmzVi0GAACOmiDLyGJPO7edGVp8erwdAADAYRFkmdl+x9BiAABglQmynNEc2SbIAgAAR0yQ5QxXLT6ECwIAAJhDkGUmyO5psSdJFgAAOGKCLDOrFk+H1Ylj5sgCAABLJsgyMkd257azQfYwrggAAGBngiyzFdm5iz1NPlaRBQAAjpogSzamtt9Z38v2O0qyAADAERNkycZkjs2cHJu1qXeMgiwAAHDUBFlmKrJ7WexpQ5IFAACOmCDLHufIWrUYAABYLkEWqxYDAADHiiBLTm3soSI79Y6x2BMAAHDUBFlmhgcbWgwAAKwyQZbZObJz3hWGFgMAAMsmyDIyR3ZeRXbysYosAABw1ARZ9jZH1tBiAABgyQRZRvaR3bnt9B6zU6cCAAAcOkGWbEwv9hRDiwEAgNUlyDKy2JOhxQAAwOoSZMnGzBzZndsKsgAAwLIJssxWZPe0avFhXBEAAMDOBFlmt9+ZN7R4ZrEnSRYAADhagiwjiz3tbHZo8SFcEAAAwByCLLNzZOcu9jT52BzZ/9/evcdLUtZ3Hv/++swMw1wgAwpkiDCowHJRQ8CgC0TYWUFGlpcKoyQkGAJICL6yayCouwlMxLyyizc2LiaCElQURmBDFuSeoA7oaxdIlPtNGUFhBJyBOXNj5pz+7R/19Jzq6ltVX6q6uz7v16teXdX1PM+prt/p0+fXz1NPAQAAAMgbiSyyXSObHFpMIgsAAAAgZySy0HS1WredadZixhYDAAAAyBmJLDLeR7Z+mzwWAAAAQN5IZNEwPLj97XcYWgwAAACgWCSy0FRysqcsQ4tJZAEAAADkjEQWjfeRbTvZU/02Q4sBAAAA5I1EFtlmLWayJwAAAAAFI5FFY49sm9+KipniqSxDiwEAAADkbaCJrJktNLMVZvaQmW0ws1fN7D4zO8/M5vTY9u5m9jkze8LMNpvZWjNbZWZnmrXuUjSzN4eff5OZ/czMXjOzjWb2pJl91cwO7eW4RlGWocWSFN9NhywAAACAvM0anx5k2gAAIABJREFUVMNmtrek70paEp7aJGkHSYeF5VQzW+ru67po+1BJt0vaNTy1QdJCSUeG5WQzO9HdtybqHSHpnkRzk+G49g3LH5rZX7v7hVmPa1QlE9n2aWyU6NZ6YumRBQAAAJC3gfTImtksSTcpSmJfkPRud58vaZ6kUxQlj4dIurqLtneWdLOiJPZxSW9394WS5kv6qKRtko6TdGmT6rMlTUu6UdJySa9z953Ccf22oiS3IukvzeyMrMc2qqaq1e3rFZPadGhHZWLTGpPIAgAAAMjboIYWf1jSW8L6Se5+lyS5e9XdV0o6O+xbZmZLM7Z9vqQ9JG2WtMzd7w9tb3X3yyRdFMp9xMz2S9R9WtIB7v5+d7/e3X8V6k67+32Slkp6MJT9ZMbjGlnxHtlOw4qjMjPrsRwYAAAAAHIxyERWku529x822X+tpGfC+mkZ266Vv9bdn2my/4uKhhpPSDo1vsPdf+7uT7VqOAxFrvUSv8nMFmU8tpEUn7W40u4msrUyRo8sAAAAgOL0PZE1s3mSjgibtzYr4+4u6baweWyGtveXtFeHtjdIWpW17ZgtsfWJLuqPnPoe2c7lJ0hkAQAAABRoED2yB8TafbhNudq+Pcxsl5RtH9ykfru2D0zZbtzR4fEFSb/qov7IyTy0uO4a2YEcEgAAAAC0NIhEdnFs/RdtysX3LW5Zqre2dzKzBSnblpm9U9L7wuZXQs9x2rrebknbThGyJrL1t98Z6pcGAAAAYAwNIpFdGFvf1KZcfN/ClqVyatvMXi/pGkXn5ClJl6Q8ppE3lXFocd01snTJAgAAAMjZwO4jO0pCr+3/kbS3olsDLQ/X2qbm7m1TwGHulZ3uabKngRwSAAAAALQ0iB7Zydj6vDbl4vsmW5YacNtmNl/SdyS9Q9Fsx8vc/ccpj2cs9HT7HYYWAwAAAMjZIBLZ52Pre7YpF9/3fMtSvbW9vl3PaiyJ/R1JGyW9193vSXksYyPr0OKJCrMWAwAAACjOIBLZxyRVw/rBbcrV9q1x97Up247PVJym7UdbFYglse9SdE3te939+ymPY6xMV6vb19P1yMavkR3IIQEAAABAS31PZN19k6R7w+Z7mpUxM5N0XNi8I0PzT0p6tkPb8yUd1a7tUOYWRUnsRkXDib+X4TjGyhSzFgMAAAAYIYPokZWkr4XHY8zs8Cb7l0t6Y1j/etpGw+1wauVPMbMlTYqdK2mBpGlJ30zujCWxteHEpU5ipeRkT53L10/2RCILAAAAIF+DTGQfkmSSbjCzpZJkZhUzWy7pilDuVnf/53hFM1sRu//qkiZtf1bSGkUTOn3HzA4N9eaY2TmSLg7lLnf3JxNtz5N0s6IkdoOk48s6nDgu+2RP9bMWZ7jdLgAAAAD0bCC333H3KTM7UdLdkpZIusvMNilKnOeGYv8m6dQu2n7VzE6QdLukAyXdb2aTod3Zodgdkj7WpPrJko4O67MkXWftE7cPuPsPsh7jqMmcyCa+/nBF31gAAAAAQB4Gdh9Zd19tZm+VdL6kD0jaR9I2SY9IukbSF919a5dtP2BmB0n6uKQTJL1B0TDhhxX1Bl/p7s2mIYqnYHM1k1S3Mqeb4xsl7p591uJEslutuioTpLIAAAAA8jGwRFaS3H1S0kVhSVtnhaQVKcr9UtKfhSVt21dJuipt+TKoJkYFZx1a3KwNAAAAABikQV0jixExlbh/TiVFl2yyCBM+AQAAAMgTiWzJJe8Dm2ZocfK64ipdsgAAAAByRCJbcg09sqkme0oksn09IgAAAABoj0S25KYTvanprpGt36ZHFgAAAECeSGRLbqohke1cp2HWYq6RBQAAAJAjEtmSa+iRTTXZE7MWAwAAACgOiWzJdTW0OPFbw9BiAAAAAHkikS25xkS2c51ksjvN0GIAAAAAOSKRLbnGa2Q7Z7LJ2++QxwIAAADIE4lsyU13cfudieSsxWSyAAAAAHJEIltyDT2yKX4jGid7IpEFAAAAkB8S2ZJLXiObHDbcTHJmYyZ7AgAAAJAnEtmSSyayyXvENpOcEGqaPBYAAABAjkhkS65xsqfOdRhaDAAAAKBIJLIl1819ZJPDj0lkAQAAAOSJRLbkpqaTkz1ln7WYPBYAAABAnkhkSy7Zm5qiQ5bJngAAAAAUikS25JLXyKab7ImhxQAAAACKQyJbctPVat12mmtkmbUYAAAAQJFIZEuu4RrZboYW0yMLAAAAIEcksiXXMGtxiky2YWgx18gCAAAAyBGJbMlNN0z2lH1oMR2yAAAAAPJEIltyjfeR7VyHyZ4AAAAAFIlEtuSS18h2M2txslcXAAAAAAaJRLbkGntkUySyDZM99fWQAAAAAKAtEtmSS95HtpLiNyI5/JjJngAAAADkiUS25Lqb7IlrZAEAAAAUh0S25Kanq3XbqYYWJ3tkyWMBAAAA5IhEtuSSQ4snupi12OmRBQAAAJAjEtmS68dkT8xaDAAAACBPJLIl1zjZUxfXyFZbFAQAAACAASCRLbnkjMMpOmSbXCNLjywAAACA/JDIllxDjyyzFgMAAAAYciSyJdePa2S5jywAAACAPJHIllx3sxbXb3OJLAAAAIA8kciW3HRipqbuJnuiRxYAAABAfkhkS2460Z1qXV0j288jAgAAAID2SGRLrqFHllmLAQAAAAw5EtmS62rWYiZ7AgAAAFAgEtmSS85aPMHtdwAAAAAMORLZkmvokU012VP9Nh2yAAAAAPJEIltyyWHBKTpk6ZEFAAAAUCgS2ZLr6hpZZi0GAAAAUCAS2ZJLXiObatbixG8Nkz0BAAAAyBOJbMlNJW6/w2RPAAAAAIYdiWzJNfTIpprsiUQWAAAAQHFIZEsumcimm+ypfpuRxQAAAADyRCJbct1M9mRmipfiGlkAAAAAeSKRLbnGyZ5SdMmqfggyQ4sBAAAA5IlEtuQae2TT1YuXo0MWAAAAQJ5IZEsu3iM7UTFZ2h5Zo0cWAAAAQDFIZEuuLpFNmcRKJLIAAAAAikMiW3LJHtm06q6RrbYpCAAAAAB9RiJbcvFrZGdlSGQn6q6RpUcWAAAAQH5IZEtuOtadOjGRPpE1hhYDAAAAKAiJbMl12yPLrMUAAAAAikIiW3LVWBaa9h6yybL0yAIAAADIE4lsyXXdI1s32ROJLAAAAID8kMiWXN2sxRmukZ2o65Ht6yEBAAAAQFsksiVX3yOb/tehwqzFAAAAAApCIlty3d5HllmLAQAAABSFRLbk6hLZTJM9zawztBgAAABAnkhkS67bHlkmewIAAABQFBLZkpuqVrevz8ow2VP89jsuhhcDAAAAyA+JbMl12yObHIZMHgsAAAAgLySyJdf9fWTrt+mRBQAAAJAXEtkSq1a9rie1kmmyp/qyXCcLAAAAIC8ksiU2nehFzXKNrCUTWfJYAAAAADkhkS2x6UT2OZEcL9xGchQyQ4sBAAAA5IVEtsSmEolspmtkG3pkSWQBAAAA5INEtsSmp5M9shlmLa4wtBgAAABAMUhkSyx5jWzyljrtNAwtJpMFAAAAkBMS2RKbqlbrticyTPbE0GIAAAAARSGRLbHkZE9ZrpFNzlqc7N0FAAAAgEEhkS2xqR6ukU0WJY8FAAAAkBcS2RLrpUe20jDZE5ksAAAAgHyQyJZYw2RPWWYtTl4jW21REAAAAAD6jES2xJI9sr0MLaZHFgAAAEBeSGRLLHmN7KxK+l8HZi0GAAAAUBQS2RLrqUe2wqzFAAAAAIpBIltiyfvIZrv9Tv02eSwAAACAvJDIllhyOHCyl7WdxsmeyGQBAAAA5INEtsQar5HNMtkT18gCAAAAKAaJbIn1d9bifhwRAAAAAHRGIltiU9UeemSTkz2RyQIAAADICYlsiTX2yHL7HQAAAADDj0S2xBoT2fR1GxPZfhwRAAAAAHRGIltiyaHF2Xpk67edHlkAAAAAOSGRLbFkjyyzFgMAAAAYBSSyJTZVrdZtZ5q1OPGbk2gKAAAAAAaGRLbE+tkjO02PLAAAAICckMiWWDKRTd5Spx2GFgMAAAAoColsifX3Gtm+HBIAAAAAdEQiW2KNsxZnSWTrt5m1GAAAAEBeSGRLrLFHNsPtdxKZbJUuWQAAAAA5IZEtsd56ZJOTPfXlkAAAAACgIxLZEkv2ovYytJjJngAAAADkZaCJrJktNLMVZvaQmW0ws1fN7D4zO8/M5vTY9u5m9jkze8LMNpvZWjNbZWZnmlnHjMzM3mRmXzazZ8xsi5m9ZGa3m9lJvRzXKEn2yPY22ROJLAAAAIB8zBpUw2a2t6TvSloSntokaQdJh4XlVDNb6u7rumj7UEm3S9o1PLVB0kJJR4blZDM70d23tqi/TNJ1kuaFp9ZL2kXSsZKONbN/kHSGj/kMRtPVat12ph7ZRNlHn1+vp1/coDfvtqAvxwYAAAAArQykR9bMZkm6SVES+4Kkd7v7fEWJ4ymSJiUdIunqLtreWdLNipLYxyW93d0XSpov6aOStkk6TtKlLervI+nb4VjulbS/u+8saWdJnwrFTpf051mPbdT00iO7YIf670BenHxNJ3xxlb7+w9XMYAwAAABgoAY1tPjDkt4S1k9y97skyd2r7r5S0tlh3zIzW5qx7fMl7SFps6Rl7n5/aHuru18m6aJQ7iNmtl+T+p9SlPSukXSCuz8Z6m9w94skXR7K/TczW5Tx2EZKctbiLD2yi+bN1uH77FL33JZtVV34T4/o9Kvu04uTW/pyjAAAAACQNMhEVpLudvcfNtl/raRnwvppGduulb/W3Z9psv+LioYaT0g6Nb7DzOZLql0D+3fu/kqT+n8THneS9L6MxzZSeklkzUwnvm2xlh/6G9phVv2v0XefeEnvuXSVbn9kTV+OEwAAAADi+p7Imtk8SUeEzVublQnXnt4WNo/N0Pb+kvbq0PYGSatatH2kpB071F8t6bGsxzaKeklkpSiZPWSvRfrTpftqya7z6/at3bhVZ3/jAX38+gf1w5/8Sj9+7hU9+ctJPbd2k3614TVt3jrNEGQAAAAAXRnEZE8HaCZBfrhNudq+PcxsF3dfm6Ltg5vUb9X28ZIO7KH+AZIOSnFMI6vxGtnuvtdYNG+OzjxqH01umdLn73xC22I3lV15/3Naef9zLevuOHtCc2dXNHf2hHacPaEdatuzoseJcExmkm1/jBLuSkWaqFQ0q2KaqFjisaKJSpRsm0WzLJvCo4XnE8eSnOu6VqL2s7evh4IVM1Vsps3t2xVTteqqejSbc9Vd09WwHp6vtVmbNKtWt/b64scSP9b4sTST/Gqg2XcFM+cy+pmKnZuoDa+rm2wiGYd4bKoe1au6yz1qqfaao9dZ/3MroZ3aa6//OY2v1GNHE39tWb8SSRv7dj+/G9vbjce3pxa744mVZMzjbPshNx676mLQ3blJ831W2vikkqZqitfV9Hy0aCOrTuey55/dcD6707evIrOc72gj/tDrj8xdkcddZKz78rMTf7Maf0bzP65F/J0dVc3Od7Q6oL+FHeoR6/74T29brLmzJ4o+jL4bRCK7OLb+izbl4vsWS0qTyGZteyczWxB6aeP117n75hT1F7cpM/J67ZGNq5jpnKPfpKP2fZ3+y8of6ekXN3SuJGnztmlt3jataI4uAAAAAP209IDdSWRTWhhb39SmXHzfwpal+tP2hth6p7rx/WmPS2aW6gvLFLe4LcxB/6O3+qd2LgIAAAAgR7v2+D/+sBrUZE8AAAAAAAzEIHpkJ2Pr89qUi++bbFmqfdvrM7Y92WR/u/ppj0vuPrxdrW3UepJH9fjHDfEYLsRjuBCP4UI8hgvxGC7EY7gQj/E0iB7Z52Pre7YpF9/3fMtSvbW9PnZ9bLz+IjPbUa3V6qc9LgAAAABATgaRyD4mqRrWD25TrrZvTcoZi6X6mYbTtP1oj/UfSXlcAAAAAICc9D2RdfdNku4Nm+9pVsaiGY+OC5t3ZGj+SUnPdmh7vqSjWrR9j6TabMWt6u+t6NY7WY8NAAAAAJCDQU329LXweIyZHd5k/3JJbwzrX0/bqLt7rPwpZrakSbFzJS2QNC3pm4n6GyXdEDbPMbOdm9T/eHiclHRj2mMDAAAAAORjkInsQ4ruS3yDmS2VJDOrmNlySVeEcre6+z/HK5rZCjPzsCxp0vZnJa1RNCHTd8zs0FBvjpmdI+niUO5yd3+ySf0LJW2U9OuSbjKzfUP9+WZ2oaQ/DuU+7e7runjtAAAAAIABsqiTcwANR0no3ZKWhKc2KUqc54btf5O0NJksmtkKSReFzX3cfXWTtg+VdLukXcNTk6Hd2WH7DkknuvtrLY5tmaTrNDM78auKenFrdwr+B0ln+KBOzhBhFrfhQjyGC/EYLsRjuBCP4UI8hgvxGC7EYzwN7D6yIQF9q6RPKZpkySVtk/SApPMlvaPbHk93f0DSQZK+IOkpRQnsRkXXwJ4l6fhWSWyof0s4tiskrVaUBK+TdKekk939j8qQxAIAAADAKBpYjywAAAAAAIMwsB5ZAAAAAAAGgUQWAAAAADBSSGQBAAAAACOFRBYAAAAAMFJIZAEAAAAAI4VEFgAAAAAwUkhkAQAAAAAjhUQWAAAAADBSSGRLyswWmtkKM3vIzDaY2atmdp+ZnWdmc4o+vlFhZrua2elmdrWZPWpmG83sNTP7uZndaGbvT9FGT7Ews93N7HNm9oSZbTaztWa2yszONDPrzysdbWb2CTPz2tKhLPEYADPbycw+bmY/MLOXYu+Tu8P5/rUW9YhHn5nZu83s22b2MzPbEs7LT83sm2b2rg51iUdKZjbPzI43s78ws/8dznft79CKlG30dL7M7E1m9mUzeybE+iUzu93MTkr5838rfL79PLxnXzCzfzSz/5Cm/jDpJR5mtqeZ/YmZXWdmT4dYbA7n9Zq056PoeA6Tfrw/mrT597E2VqcoTzxGnbuzlGyRtLekZyR5WDZK2hLb/ldJi4o+zlFYJG2LnTeXtFnShsRzt0iaN4hYSDpU0sux8pOJY7pN0pyiz1PBMdo/xGV7TNqUJR6DicExktbEzsNrktYl3ie/STwGHgeT9PeJ874pLPHnPt+iPvHIdr6PTpzX+LIiRf2ezpekZSFGtfKvSpqObV8pydrUPzPx816RVM3yGoZp6TYekt6QeN213/3k++arkiaGNZ7DtvT6/mjS3jGJOK3uUJ54jMFS+AGw5BxwaZakB8Ob7HlJ/zE8X5H0IUnrw77vFH2so7CEc/V/JZ0j6Y2x55dI+krsD9o3+h0LSTtLeiGUeUzSYeH5OZLOlbQ17PtS0eepwPhUJN0bzsMPavFoUZZ4DCYGR2jmH74bJB1W+3CXNE/S2yV9WtI+xGPgsTg99jfpOkn7xvbtL+nG2P73E4+ez/fRktZKukvSJZJOiZ2DFR3q9nS+JO2jmS9V75G0X3h+gaS/isX5ghb13ylpKpT5R0m/EZ7fVfVfhnyw6PM86Hgo+jz3UO80SYtjv/sHJt43Fw9jPIdx6eX90aSteZKeDufxPnVIZInH+CyFHwBLzgGXzoi9wd7ZZP/vxvYvLfp4h32RdEyH/fEP/Df0MxaSLg77NimRBIT9nwz7p2p/ZMu2SPrP4RxcLWlF7Xy2KEs8+n/+50n6SXjdf5uxLvHofzzuDq/5KUmzmuyfHYvXNcSj5/Pd0DsnabXSJbI9nS9J3wj7X5D0a032f1kzvUgNveiSVoX9D0qa3WT/bWH/M81e5zAu3cZDUdLzW232m6RbNdOrN3fY4jmMSy/vjyb1vhDqfVrSVeqcyBKPMVkKPwCWnAMufT+8uf6lxX6T9NNQ5mtFH++oL4p6m2r/3CV7OHqKhaSfhX1Xtqi/IHyouqS/KvpcFHDua9+Yvizp9eqcyBKP/sfg7NiHfcM/dx3qEo/+x+Px8Hqvb1PmhlDmJuIxkBisVrpEtuvzJWm+ZkZBXNii/pLYZ9PpiX1vjO07rUX9d8XKtP1Cd5iXtPFI0c7y2Pk4ZJjiOUpLN/GQ9A5FQ3qfkDRX6RJZ4jEmC5M9lYiZzVM0zE+Kvj1s4NE78LaweWwexzXmtsTWJ2orvcbCzPaXtFeH+hsUfaveUL8krlD0gfNn7v5Su4LEY2BOC4/XufuWtiVjiMfA/DQ8vs3MZiV3mtlsSb8ZNu+PPU88ctSH83WkpB071F+taEhls/rvjq3fpubuUfSPfrP6ZdT0s14ainiOLTPbQeFaVEkfSfM5QzzGC4lsuRygmZg/3KZcbd8eZrbLYA9p7B0dW38ott5rLA5uUqZd/QPblBk7ZnaWpKWS7nL3r6eoQjz6LPyDcVjYfMDM9jKzy83sOTPbama/NLObzOy9TaoTj8H4u/D4ZknXmNmbazvCP3ffVtQb9xNFQ/VqiEe+ej1fWesf1KL+i+7+YrOK7j6tqIe/Wf0yOjo8bpX0ZGJf0fEcZxcq+vv0VXf/Xso6xGOMkMiWy+LY+i/alIvvW9yyFNqy6HYinwybq9z9idjuXmORtf5OZragTbmxYWZ7SvqMopmKz05ZjXj03xJFE2dIUXL0sKSzJO2maKbH3SSdIOlmM7sicasD4jEA7n6TpI8p+mf7ZElPmdkmM9ukKCk5WlGy+9vuvj5WlXjkq9fzVau/zt03p6if/JxfnNiftX6pmNk+kv44bK5MvHek4uM5lszsEEkXSPqlpD/PUJV4jBES2XJZGFvf1KZcfN/ClqXQkplVFE0G8OuKhhx9NFGk11gQy9a+rGhyjhXu/tNOhQPi0X+LYut/oei2BsslLXD3RYpu5XJd2H+mogSrhngMiLtfKukDkmo9bTtqZpjcHEXXhu2cqEY88tWv892ubnx/8lz3Wr80zGxHRX/H5imaj+ETTYoVHc+xEy6NuFLRbOp/6u6vZKhOPMYIiSwwGP9TUW+TJJ3r7g8WeTBlYWa/L+m9kn4k6fMFH07ZVRLrZ7j79e6+TZLc/VlFt1v4cSjzX5tdt4n+MbN5ZrZS0s2SnlV07dbrw3KspEcl/YGk/2dmby3sQIEREP5efUvR/Ui3STrV3Z8v9qhK4xOKrue/2d2/XfTBoDgksuUyGVuf16ZcfN9ky1Joysw+q5ke2I+5+5VNivUaC2KZYGa7S7pU0eyFZ7n7VIbqxKP/4q/vKXe/MVnA3auSPhs2d1X0D2GyLvHon89I+qCi2T2Pcvc73f3lsNwp6XcUXd/3OkmXxeoRj3z163y3qxvfnzzXvdYfe2Y2Iembkt6n6BYtv+fud7QoXnQ8x4qZHSjpLxXdleBPumiCeIwREtlyiX9TuGebcvF9fLuYgZldIum8sHl+GMbXTK+xyFp/fZiFb5z9d0XJ0OWSHjezBfFFM9drKvZ87Tni0X/xa48eb1kq6gWs2Ts8Eo8+M7OFkj4SNi9rNrtnuN7rf4XNI81st7BOPPLV6/mq1V8Uhr52qp/8nH8+sT9r/bEWktirFX0pNC3p9939+jZVio7nuLlM0ef5X0ta1+Szvjayx2LPz47VJx5jhES2XB6TVA3rB7cpV9u3xt3XDvaQxoeZfUYzEw5c4O6fa1O811g83KRMu/qPtikzLvYJj+co+gY0uXwyVrb23CVhm3j0WTg/nSaLkaLbJmyvFh6JR//tp5l/8H7SptxTsfXae4p45KvX85W1/iMt6u9mZq9vVjEkc/+uRf2xFeuJPUUzSezKDtWKjue4qf1d+hs1/6w/NezfK/bcubH6xGOMkMiWiLtvknRv2HxPszJh5tDjwmarYTJICMOJzw+bF7j7Z9qV70MsnlR0jVu7+vMlHdWiPmKIx8DUXucBbcrEb23wjEQ8BqQaW9+7ZSlp99j6pEQ8CtDr+bpH0azt7ervrZn3ZbL+nbH1pvUV3Ve4NolNKeIVkthvSfqQZpLYa1NULTqeqEc8xom7s5RokXSGol6PqqTDm+z/YNjvkpYWfbyjsCi6xq92zs7LKxaSLg77Nkpa0mT/BWH/lKT9ij5PRS+SVtTOJ/HI7ZwfFTtn72uyv6JosieX9HNJFeIxsFjsqGgWTZf0gKRZTcpMKEpYXdJaSRPEo+9xWB1e54oO5Xo6X4pmzXdFwxp3brL/S2H/ekmLmuxfFfb/SNLsJvtvCftXx39PRm3JEI8JSdeGstskfSjjzyk0nqOypI1Hhzauqv1uEo/xXwo/AJacAx4NLXtQM/84Lg3PVxTdGuPVsO+Woo91FBZFQ1Nr/7x9LM9YKLpFxguhzCOSDg3Pz1E0vPa1sO9LRZ+nYVjUOZElHoM579eF1/2ypJMUEihFw75Wxt4/HyYeA4/F38bO962S3hLOZ0XSWyXdHtt/IfHoyzlfpGjyrNrybHidlySeX9DP86Vo+OWGUOb7kvYNz8+XdKGiLyRc0QiiZvX/vaJ/4l3SDZL2DM/vopl/0l3SB4s+x4OOh6Ik9hrNJLHLu/i5hcZzWJdu3x8d2rxKnRNZ4jEmS+EHwFJA0KUliobw1T6INioaJlHb/lfxDVKa87hX7JxNS1rTYTm/37FQNMvry7Hy6yVtjW3fLmmHos/VMCzqkMgSj4Gd9/mSvhc7B1sU9fZ5bFlBPHKJxY6KEtj4ud8Slvhz31KTXjbi0dU5X504t62Wq/p9viQtCzGqlX9FM8mpK7oPp7Wpf6aixK1Wfp1m/kFv+b4d5qWbeCiazbv2/FZ1/qxv2ltbdDyHcenl/dGmzavUIZElHuOzcI1sCbn7akXfvn9K0UXrrujD6gFF13m+w93XFXaAoyN5n8zdOywLkg30Ggt3f0DSQZK+oGiSltmK/rDeI+ksSce7+2s9vMZSIR795+4bJR2j6PV/X9H5WKBoIqhrJR3h7ita1F0t4tE3Hs1KvExRD+o/KepZrU229ZyinrcT3P333H26Sf3VIh656fV8ufstiuJ1haKEYa6iZPROSSe7+x95+I+8Rf2vSDpc0Rcbv1B0O5EXJd2oqEd+RW+vcGTEP+tnq/NnfdOZbIu6LvUAAAAA0UlEQVSOJ+oRj/FgnGMAAAAAwCihRxYAAAAAMFJIZAEAAAAAI4VEFgAAAAAwUkhkAQAAAAAjhUQWAAAAADBSSGQBAAAAACOFRBYAAAAAMFJIZAEAAAAAI4VEFgAAAAAwUkhkAQAAAAAjhUQWAAAAADBSSGQBAAAAACOFRBYAAAAAMFJIZAEAAAAAI4VEFgAAAAAwUkhkAQAAAAAjhUQWAAAAADBSSGQBAAAAACOFRBYAAAAAMFJIZAEAAAAAI4VEFgAAAAAwUkhkAQAAAAAj5f8DSOtRwdYRqFYAAAAASUVORK5CYII=\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "def q_learning_action_policy(alpha = 0.1,\n",
    "                             gamma = 0.6,\n",
    "                             random_action_rate = 0.15,\n",
    "                             episodes=100000):\n",
    "    q_table = np.zeros([env.observation_space.n, env.action_space.n])\n",
    "    episode_steps = []\n",
    "    episode_frames = []\n",
    "\n",
    "    for episode in tqdm.trange(episodes):\n",
    "        observation = env.reset()\n",
    "\n",
    "        done, step, frames = False, 0, []\n",
    "\n",
    "        while not done:\n",
    "            # 一定比例采取随机行为，用于探索环境\n",
    "            if random.uniform(0, 1) < random_action_rate:\n",
    "                action = env.action_space.sample()\n",
    "            else:\n",
    "                action = np.argmax(q_table[observation])\n",
    "\n",
    "            # 执行行为，获取环境状态，奖励，是否完成等信息\n",
    "            next_observation, reward, done, info = env.step(action)\n",
    "\n",
    "            # 使用 Q-Learning 公式更新 Q 表\n",
    "            old_value = q_table[observation, action]\n",
    "            next_max = np.max(q_table[next_observation])\n",
    "\n",
    "            new_value = (1 - alpha) * old_value + alpha * (reward + gamma * next_max)\n",
    "            q_table[observation, action] = new_value\n",
    "\n",
    "            frames.append({\n",
    "                'frame': env.render(mode='ansi'),\n",
    "                'state': observation,\n",
    "                'action': action,\n",
    "                'reward': reward\n",
    "            })\n",
    "\n",
    "            observation = next_observation\n",
    "            step += 1\n",
    "        episode_steps.append(step)\n",
    "        episode_frames.append(frames)\n",
    "    return q_table, episode_steps, episode_frames"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████| 100000/100000 [02:14<00:00, 742.96it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Average steps: 16.92863\n"
     ]
    },
    {
     "data": {
      "text/plain": "<Figure size 1080x720 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "q_table, episode_steps, episode_frames = q_learning_action_policy()\n",
    "sns.distplot(episode_steps)\n",
    "plt.title(\"Steps with Q-Learning policy\")\n",
    "print(f\"Average steps: {sum(episode_steps)/len(episode_steps)}\")"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [],
   "source": [
    "def test_q_learning_policy(q_table,\n",
    "                           episodes=200):\n",
    "    episode_steps = []\n",
    "    episode_frames = []\n",
    "    for episode in range(episodes):\n",
    "        observation = env.reset()\n",
    "        done = False\n",
    "        step = 0\n",
    "        frames = []\n",
    "        while not done:\n",
    "            # 完全按照 Q 表选择下一步行为\n",
    "            action = np.argmax(q_table[observation])\n",
    "            observation, reward, done, info = env.step(action)\n",
    "            frames.append({\n",
    "                'frame': env.render(mode='ansi'),\n",
    "                'state': observation,\n",
    "                'action': action,\n",
    "                'reward': reward\n",
    "            })\n",
    "            step += 1\n",
    "            # 测试时候加这条件的目的是为了防止之前训练没有训练好的情况下出现死循环\n",
    "            # 比如如果一直选择往上走，又没有随机行动，那么就会出现死循环，一直不结束\n",
    "            if step > 2000:\n",
    "                break\n",
    "        episode_frames.append(frames)\n",
    "        episode_steps.append(step)\n",
    "    return episode_steps, episode_frames"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [],
   "source": [
    "episode_steps, episode_frames = test_q_learning_policy(q_table)\n",
    "sns.distplot(episode_steps)\n",
    "plt.title(\"Steps with Q-Learning policy\")\n",
    "print(f\"Average steps: {sum(episode_steps)/len(episode_steps)}\")\n",
    "\n",
    "\n"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}